﻿#region 참조 네임스페이스

using System;

#endregion

namespace Skying.Net.Sockets
{
	/// <summary>
	/// 연결 수용 조건을 분석할 때 발생하는 예외를 정의한다.
	/// </summary>
	/// <remarks>
	/// <para>연결 수용 조건 분석 결과는 <see cref="AcceptConditionParseResult"/>를 참조한다.</para>
	/// </remarks>
	public class AcceptConditionParseException : Exception
	{
		#region 프로퍼티

		/// <summary>
		/// AcceptCondition 바이너리에 대한 분석 결과를 가져온다.
		/// </summary>
		public AcceptConditionParseResult ParseResult
		{
			get;
			private set;
		}

		#endregion

		#region 생성자/소멸자

		public AcceptConditionParseException()
		{

		}

		public AcceptConditionParseException(string message, AcceptConditionParseResult parseResult)
			: base(message)
		{
			this.ParseResult = parseResult;
		}

		public AcceptConditionParseException(string message, AcceptConditionParseResult parseResult, Exception innerException)
			: base(message, innerException)
		{
			this.ParseResult = parseResult;
		}

		#endregion
	}
}